using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Xml.Serialization;

namespace AgilePlannerDT.Data
{
    /// <summary>
    /// Defines the root for the planning object inheritance hierarchie
    /// </summary>
    public interface AbstractRoot : INotifyPropertyChanged, ICloneable
    {

        /// <summary>
        /// Gets or sets the ID of a planning object
        /// </summary>
        /// <value>The ID.</value>
        long ID
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the name of a planning object
        /// </summary>
        /// <value>The name.</value>
        String Name
        {
            get;
            set;
        }

        void Notify(string propertyName, object before, object after);
    }
}